1.  Необходимо      запаковать       его      в       Docker-контейнер,
    для     этого       надо   написать      Dockerfile,     аналогично
    первой работе (в этом случае никаких переменных окружения указывать
    в Dockerfile __не__ надо, просто минимальный Dockerfile для запуска
    веб-сервера на Golang)

    *   ./Dockerfile

2.  Написать   docker-compose.yml      для  запуска  веб-сервера,
    и сервера базы данных MySQL (оба сервиса     должны    быть в
    одном файле docker-compose), веб-сервер   и   сервер    MySQL
    должны быть в одной docker сети. Доказательством корректности
    выполнения данного шага является вызов веб-сервера  по адресу
    localhost:555   с   хостовой   машины   и   получения  ответа
    в виде "MySQL database connection has been successfully created"

    *   Для корректного   определения     параметров  запуска  контейнера,
        особое внимание необходимо обратить на имена переменных окружения,
        которые указаны в main.go

    *   Для создания контейнера под веб-сервер из main.go, необходимо учесть,
            что нужно сделать билд проекта, добавив в Dockerfile
            ```dockerfile
            RUN go mod init server
            RUN go get github.com/go-sql-driver/mysql
            RUN go build -o main .
            ```

        *   ./docker-compose.yml, без использования volumes, для сервиса
            database-server

        *   ./Dockerfile, см комментарий # Build the Golang  application

    *   Важно понимать, что для  подключения  к  базе  данных,  которая  лежит
        в одной сети с web-server'ом вам не стоит использовать localhost:3306,
        вместо этого необходимо использовать  <название-контейнера-БД>:<порт>,
        которые вы определяете в docker-compose.yml. Почему?

        *   После запуска docker-compose запускается два контейнера, которые
            имеют различные IP адреса,  строится  таблица  DNS или ее аналог,
            в который <ip контейнера> = <наименование контейнера>

    *   В docker-compose.yaml, для веб-сервера используйте depends_on, но,
        если попробовать сделать запрос сразу после запуска   контейнеров,
        подключение к БД не будет создано, хоть и depends_on    определяет 
        порядок запуска контейнеров. Почему?

        *   Потому что mysql это такая  же   программа,  которая    сначала  запускается,
            только после ее полной инициализации открывается порт и  mysql  сервер  готов
            принимать входящие соединения. Но до этого момента, проходит время, в которое
            программа работает (те не дает os.Exit(1)), а соответственно  docker  считает
            ее загустившейся. Чтобы такого не было, можно использовать [скрипт](https://github.com/vishnubob/wait-for-it/blob/master/wait-for-it.sh), который будет
            ждать не до того момента, пока mysql сервер не  откроет  порт  для  входящих
            соединений

3.  В корне этого проекта лежит папка data,   необходимо    подключить    ее
    к базе данных MySQL и c хостовой операционной системы вызвать веб-сервер
    по адресу: localhost:555/programmers, если все выполнено   корректно  вы
    должны в консоли получить топ 10 самых  известных    программистов  всех
    времен по мнению портала reddit

    *   ./docker-compose.yml, см строки 26:27